home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1994-01-04 | 2.8 KB | 131 lines |
- IMPLEMENTATION MODULE VDITool;
-
- (*
- VDI Tools.
-
- UK __DATE__ __TIME__
- *)
-
- (*IMP_SWITCHES*)
-
- FROM AES IMPORT IconBlkPtr;
- FROM GrafMgr IMPORT GrafHandle;
- FROM RcMgr IMPORT GRect;
- FROM VDI IMPORT XY;
- FROM VControl IMPORT RC,MaxWorkIn,MaxWorkOut,VOpnVWk,VClsVWk,VSClip;
- FROM PORTAB IMPORT UNSIGNEDWORD,SIGNEDWORD;
-
- PROCEDURE OpenVirtualWorkstation(VAR Handle: UNSIGNEDWORD): BOOLEAN;
-
- VAR WorkIn : ARRAY[0..(MaxWorkIn - 1)] OF UNSIGNEDWORD;
- WorkOut: ARRAY[0..(MaxWorkOut - 1)] OF UNSIGNEDWORD;
- i : UNSIGNEDWORD;
-
- BEGIN
- Handle:= GrafHandle(i,i,i,i);
-
- FOR i:= 0 TO (MaxWorkIn - 1) DO
- WorkIn[i]:= 1;
- END;
- WorkIn[10]:= RC;
-
- VOpnVWk(WorkIn,Handle,WorkOut);
- RETURN Handle > 0;
- END OpenVirtualWorkstation;
-
- PROCEDURE CloseVirtualWorkstation(VAR Handle: UNSIGNEDWORD);
- BEGIN
- VClsVWk(Handle);
- END CloseVirtualWorkstation;
-
- PROCEDURE GRectToArray(VAR Rect : GRect;
- VAR Array: ARRAY (*[0..3]*) OF XY);
- BEGIN
- WITH Rect DO
- Array[0]:= GX;
- Array[1]:= GY;
- Array[2]:= GX + GW - 1;
- Array[3]:= GY + GH - 1;
- END;
- END GRectToArray;
-
- PROCEDURE GBoxToArray(VAR Box : GRect;
- VAR Array: ARRAY (*[0..9]*) OF XY);
- BEGIN
- WITH Box DO
- Array[0]:= GX;
- Array[1]:= GY;
- Array[2]:= GX + GW - 1;
- Array[3]:= GY;
- Array[4]:= Array[2];
- Array[5]:= GY + GH - 1;
- Array[6]:= GX;
- Array[7]:= Array[5];
- Array[8]:= Array[0];
- Array[9]:= Array[1];
- END;
- END GBoxToArray;
-
- (*
- PROCEDURE GIconToArray( IconSpec: IconBlkPtr;
- XOffset : SIGNEDWORD;
- YOffset : SIGNEDWORD;
- VAR Array : ARRAY (*[0..17]*) OF XY);
-
- BEGIN
- (*
- note: same access for CIconBlkPtr, because the first element of
- an CIconBlk is an IconBlk.
- *)
- (*
- IBXIcon: SIGNEDWORD;
- IBYIcon: SIGNEDWORD;
- IBWIcon: UNSIGNEDWORD;
- IBHIcon: UNSIGNEDWORD;
- IBXText: SIGNEDWORD;
- IBYText: SIGNEDWORD;
- IBWText: UNSIGNEDWORD;
- IBHText: UNSIGNEDWORD;
- *)
- (*
- WITH IconSpec^ DO
- Array[0]:= XOffset + IBXIcon;
- Array[1]:= YOffset + IBYIcon;
- Array[2]:= Array[0];
- Array[3]:= Array[1] + IBHIcon - 1;
- Array[4]:=
- Array[5]:=
- Array[6]:=
- Array[7]:=
- Array[8]:=
- Array[9]:=
- Array[10]:=
- Array[11]:=
- Array[12]:=
- Array[13]:=
- Array[14]:=
- Array[15]:=
- Array[16]:=
- Array[17]:=
- END;
- *)
- END GIconToArray;
- *)
-
- PROCEDURE SetClip(Handle: UNSIGNEDWORD; VAR Rect: GRect);
-
- VAR PXY: ARRAY[0..3] OF XY;
-
- BEGIN
- GRectToArray(Rect,PXY);
- VSClip(Handle,TRUE,PXY);
- END SetClip;
-
- BEGIN
- GlobalHandle:= 0;
- #if not proc_const
- OpenVWork:= OpenVirtualWorkstation;
- CloseVWork:= CloseVirtualWorkstation;
- #endif
- END VDITool.
-